package com.cazor.mg.service.impl;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.cazor.mg.mapper.MgParamLogMapper;
import com.cazor.mg.domain.MgParamLog;
import com.cazor.mg.service.IMgParamLogService;

/**
 * 参数历史Service业务层处理
 *
 * @author cazor
 * @date 2023-11-27
 */
@Service
public class MgParamLogServiceImpl extends ServiceImpl<MgParamLogMapper, MgParamLog> implements IMgParamLogService
{
    @Resource
    private MgParamLogMapper mgParamLogMapper;

    /**
     * 查询参数历史
     *
     * @param id 参数历史主键
     * @return 参数历史
     */
    @Override
    public MgParamLog selectMgParamLogById(Long id)
    {
        return mgParamLogMapper.selectMgParamLogById(id);
    }

    /**
     * 查询参数历史列表
     *
     * @param mgParamLog 参数历史
     * @return 参数历史
     */
    @Override
    public List<MgParamLog> selectMgParamLogList(MgParamLog mgParamLog)
    {
        return mgParamLogMapper.selectMgParamLogList(mgParamLog);
    }


    /**
     * 查询 所有历史数据 mg_param_log_bk20230710 union mg_param_log 两个表
     * @param mgParamLog
     * @return
     */
    public List<MgParamLog> selectMgParamLogHisList(MgParamLog mgParamLog) {
        return mgParamLogMapper.selectMgParamLogHisList(mgParamLog);
    }

    /**
     * 查询 所有历史数据 mg_param_log_bk20230710 union mg_param_log 两个表
     * @param sensorId 传感器编码
     * @param endReadDate 截止日期
     * @return
     */
    public  List<MgParamLog> selectMgParamLogHisList(String sensorId, Date endReadDate) {
        Map<String, Object> params = new HashMap<>(2);
        params.put("endReadDate", endReadDate);

        MgParamLog mgParamLogParams = new MgParamLog();
        mgParamLogParams.setParentCode(sensorId);
        mgParamLogParams.setParams(params);
        return this.selectMgParamLogHisList(mgParamLogParams);
    }

    /**
     * 新增参数历史
     *
     * @param mgParamLog 参数历史
     * @return 结果
     */
    @Override
    public int insertMgParamLog(MgParamLog mgParamLog)
    {
        return mgParamLogMapper.insertMgParamLog(mgParamLog);
    }

    /**
     * 修改参数历史
     *
     * @param mgParamLog 参数历史
     * @return 结果
     */
    @Override
    public int updateMgParamLog(MgParamLog mgParamLog)
    {
        return mgParamLogMapper.updateMgParamLog(mgParamLog);
    }

    /**
     * 批量删除参数历史
     *
     * @param ids 需要删除的参数历史主键
     * @return 结果
     */
    @Override
    public int deleteMgParamLogByIds(Long[] ids)
    {
        return mgParamLogMapper.deleteMgParamLogByIds(ids);
    }

    /**
     * 删除参数历史信息
     *
     * @param id 参数历史主键
     * @return 结果
     */
    @Override
    public int deleteMgParamLogById(Long id)
    {
        return mgParamLogMapper.deleteMgParamLogById(id);
    }
}
